perm filename BUG2.TMP[MF,DEK] blob sn#750682 filedate 1984-04-20 generic text, type T, neo UTF8
This is METAFONT, WAITS Version -87.0 (INIMF)  20 APR 1984 01:44
**bug2
(BUG2.MF[MF,DEK]
Calling INITSC:true
Calling BLANKR(0,450,0,400)
Calling UPDSCR
{tracingedges:=1}
{tracingtitles:=1}
{tracingequations:=1}
{tracingspecs:=2}
{tracingpens:=1}
{tracingchoices:=1}
{tracingstats:=2}
{tracingonline:=1}

{tracingoutput:=1}
{tracingmacros:=3}

demochar(TEXT0)->e:=nulledges;numeric.x[],y[],x[]a,y[]a;charcode:=charcode+1;z1
=(6h,0);z2=(0,8v);z3=(4h,11v);z4=(10h,8v);z5=(17h,9v);z6=(18h,2v);z0=(9h,3v);fo
r.n:=1step1until6:z[n]a-z0=2(z[n]-z0);endfor.draw.z1a(TEXT0)z2a(TEXT0)z3a(TEXT0
)z4a(TEXT0)z5a(TEXT0)z6a(TEXT0)cycle;erase.z1(TEXT0)z2(TEXT0)z3(TEXT0)z4(TEXT0)
z5(TEXT0)z6(TEXT0)cycle;display.e.on1;charwd:=40h/hppp;chardw:=40h;shipout.e;
(TEXT0)<-{1,0}..
{nulledges}
{e:=edges}
{numeric}
{(96)+(1)}
{charcode:=97}

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-1
{(6)*(4)}
{((x1,y1))=((24,0))}
## y1=0
## x1=24
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-2
{(8)*(4)}
{((x2,y2))=((0,32))}
## y2=32
## x2=0
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-3
{(4)*(4)}
{(11)*(4)}
{((x3,y3))=((16,44))}
## y3=44
## x3=16
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-4
{(10)*(4)}
{(8)*(4)}
{((x4,y4))=((40,32))}
## y4=32
## x4=40
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-5
{(17)*(4)}
{(9)*(4)}
{((x5,y5))=((68,36))}
## y5=36
## x5=68
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-6
{(18)*(4)}
{(2)*(4)}
{((x6,y6))=((72,8))}
## y6=8
## x6=72
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{(9)*(4)}
{(3)*(4)}
{((x0,y0))=((36,12))}
## y0=12
## x0=36
{for}
{loop value=1}
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-1a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((x1a,y1a))-((36,12))}

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-1

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((24,0))-((36,12))}
{(2)*((-12,-12))}
{((x1a-36,y1a-12))=((-24,-24))}
## y1a=-12
## x1a=12
{[repeat the loop]}
{loop value=2}
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-2a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((x2a,y2a))-((36,12))}

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-2

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((0,32))-((36,12))}
{(2)*((-36,20))}
{((x2a-36,y2a-12))=((-72,40))}
## y2a=52
## x2a=-36
{[repeat the loop]}
{loop value=3}
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-3a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((x3a,y3a))-((36,12))}

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-3

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((16,44))-((36,12))}
{(2)*((-20,32))}
{((x3a-36,y3a-12))=((-40,64))}
## y3a=76
## x3a=-4
{[repeat the loop]}
{loop value=4}
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-4a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((x4a,y4a))-((36,12))}

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-4

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((40,32))-((36,12))}
{(2)*((4,20))}
{((x4a-36,y4a-12))=((8,40))}
## y4a=52
## x4a=44
{[repeat the loop]}
{loop value=5}
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-5a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((x5a,y5a))-((36,12))}

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-5

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((68,36))-((36,12))}
{(2)*((32,24))}
{((x5a-36,y5a-12))=((64,48))}
## y5a=60
## x5a=100
{[repeat the loop]}
{loop value=6}
z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-6a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((x6a,y6a))-((36,12))}

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-6

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-0
{((72,8))-((36,12))}
{(2)*((36,-4))}
{((x6a-36,y6a-12))=((72,-8))}
## y6a=4
## x6a=108
{[repeat the loop]}

draw<expression>->addto.e.contour(EXPR0)withweight1

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-1a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-2a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-3a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-4a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-5a

z->(x(SUFFIX2),y(SUFFIX2))
(SUFFIX0)<-
(SUFFIX1)<-z
(SUFFIX2)<-6a
Path at line 3, before choices:
(12,-12){1,0}
 ..(-36,52){1,0}
 ..(-4,76){1,0}
 ..(44,52){1,0}
 ..(100,60){1,0}
 ..(108,4){1,0}
 ..cycle

Path at line 3, after choices:
(12,-12)..controls (145.3311,-12.00041) and (-169.3311,52.00041)
 ..(-36,52)..controls (-21.18524,51.99995) and (-18.81476,76.00005)
 ..(-4,76)..controls (14.88547,76.00012) and (25.11453,51.99988)
 ..(44,52)..controls (62.95135,52.00005) and (81.04865,59.99995)
 ..(100,60)..controls (133.03973,60.00008) and (74.96027,3.99992)
 ..(108,4)..controls (497.29492,4) and (-377.29492,-12)
 ..cycle

(EXPR0)<-path
{addto}
Path at line 3, before subdivision into octants:
(12,-12)..controls (145.3311,-12.00041) and (-169.3311,52.00041)
 ..(-36,52)..controls (-21.18524,51.99995) and (-18.81476,76.00005)
 ..(-4,76)..controls (14.88547,76.00012) and (25.11453,51.99988)
 ..(44,52)..controls (62.95135,52.00005) and (81.04865,59.99995)
 ..(100,60)..controls (133.03973,60.00008) and (74.96027,3.99992)
 ..(108,4)..controls (497.29492,4) and (-377.29492,-12)
 ..cycle

Cycle spec at line 3, after subdivision:
(12.00133,-12) % beginning in the first octant
   ..controls (32.51877,-12) and (42.42728,-10.48439)
 ..(44.99203,-7.91963) % segment 1
% entering the second octant
   ..controls (45.45879,-7.45288) and (45.68231,-6.95139)
 ..(45.68231,-6.41797) % segment 1
% entering the third octant
   ..controls (45.68231,-5.6233) and (45.18623,-4.75778)
 ..(44.25912,-3.83067) % segment 1
% entering the fourth octant
   ..controls (31.97533,8.45313) and (-55.97533,31.54686)
 ..(-43.83067,68.25911) % segment 1
   ..controls (-44.75778,69.18622) and (-45.6233,69.6823)
 ..(-69.68231,46.41795) % segment 1
% entering the third octant
% entering the second octant
   ..controls (-69.68231,46.95139) and (-69.45879,47.45288)
 ..(-68.99203,47.91963) % segment 1
% entering the first octant
   ..controls (-66.42728,50.48439) and (-56.51875,52)
 ..(-36.00133,52) % segment 1
% entering the eighth octant
   ..controls (-36.00089,52) and (-36.00044,52)
 ..(-36,52) % segment 1
   ..controls (-35.99998,52) and (-35.99997,52)
 ..(-35.99995,52) % segment 2
% entering the first octant
   ..controls (-31.79573,52) and (-28.5937,53.93285)
 ..(-25.82506,56.70149) % segment 2
% entering the second octant
   ..controls (-21.60628,60.92027) and (-18.39372,67.07971)
 ..(71.29851,-14.17493) % segment 2 % THIS IS WRONG!!
   ..controls (74.06715,-11.40628) and (76,-8.20425)
 ..(-4.00005,76) % segment 2
% entering the first octant
% entering the eighth octant
   ..controls (-4.00003,76) and (-4.00002,76)
 ..(-4,76) % segment 2
% entering the first octant
   ..controls (-3.99995,76) and (-3.99991,76)
 ..(-3.99986,76) % segment 3
% entering the eighth octant
   ..controls (14.88548,76) and (25.11452,52)
 ..(43.99986,52) % segment 3
% entering the first octant
   ..controls (43.99991,52) and (43.99995,52)
 ..(44,52) % segment 3
   ..controls (62.95135,52.00005) and (81.04865,59.99995)
 ..(100,60) % segment 4
   ..controls (100.00002,60) and (100.00003,60)
 ..(100.00005,60) % segment 5
% entering the eighth octant
   ..controls (104.25903,60) and (107.00394,59.06946)
 ..(108.62509,57.4483) % segment 5
% entering the seventh octant
   ..controls (109.99574,56.07765) and (110.56311,54.21332)
 ..(110.56311,52.00029) % segment 5
% entering the sixth octant
   ..controls (110.56311,41.3558) and (97.43689,22.64418)
 ..(97.43689,11.9997) % segment 5
% entering the seventh octant
   ..controls (97.43689,9.78667) and (98.00426,7.92233)
 ..(99.37491,6.55168) % segment 5
% entering the eighth octant
   ..controls (100.99606,4.93053) and (103.74097,4)
 ..(107.99995,4) % segment 5
% entering the first octant
   ..controls (107.99997,4) and (107.99998,4)
 ..(108,4) % segment 5
% entering the eighth octant
   ..controls (180.8299,4) and (209.42444,3.43999)
 ..(210.33488,2.52954) % segment 6
% entering the seventh octant
   ..controls (210.34993,2.5145) and (210.35742,2.49936)
 ..(210.35742,2.48413) % segment 6
% entering the sixth octant
   ..controls (210.35742,2.46834) and (210.34938,2.45245)
 ..(210.33339,2.43646) % segment 6
% entering the fifth octant
   ..controls (207.27242,-0.62451) and (-87.27243,-7.3755)
 ..(-10.43646,-90.33339) % segment 6
   ..controls (-10.45245,-90.34938) and (-10.46834,-90.35742)
 ..(-90.35742,-10.48413) % segment 6
% entering the sixth octant
% entering the seventh octant
   ..controls (-90.35742,-10.49936) and (-90.34993,-10.5145)
 ..(-90.33488,-10.52954) % segment 6
% entering the eighth octant
   ..controls (-89.42444,-11.43999) and (-60.8299,-12)
 ..(12,-12) % segment 6
   ..controls (12.00044,-12) and (12.00089,-12)
 ..(12.00133,-12) % segment 1
% entering the first octant
 & cycle

! Strange path (winding number is zero).
<recently read> ;
                 
demochar->...T0)z5a(TEXT0)z6a(TEXT0)cycle;
                                          erase.z1(TEXT0)z2(TEXT0)z3(...
p.4,l.3 demochar({1,0}..)
                         ;
? 
Tracing edges at line 3: (weight 1)
(29,-12)(29,-11)(37,-11)(37,-10)(41,-10)(41,-9)(44,-9)(44,-8)(45,-8)
(45,-7)(46,-7)(46,-5)(45,-5)(45,-4)(44,-4)(44,-3)(43,-3)(43,-2)(41,-2)
(41,-1)(40,-1)(40,0)(38,0)(38,1)(36,1)(36,2)(34,2)(34,3)(32,3)(32,4)
(30,4)(30,5)(28,5)(28,6)(26,6)(26,7)(24,7)(24,8)(21,8)(21,9)(19,9)(19,10)
(17,10)(17,11)(15,11)(15,12)(13,12)(13,13)(10,13)(10,14)(8,14)(8,15)
(6,15)(6,16)(4,16)(4,17)(2,17)(2,18)(0,18)(0,19)(-2,19)(-2,20)(-4,20)
(-4,21)(-6,21)(-6,22)(-8,22)(-8,23)(-10,23)(-10,24)(-12,24)(-12,25)
(-13,25)(-13,26)(-15,26)(-15,27)(-17,27)(-17,28)(-18,28)(-18,29)(-20,29)
(-20,30)(-22,30)(-22,31)(-23,31)(-23,32)(-25,32)(-25,33)(-26,33)(-26,34)
(-27,34)(-27,35)(-29,35)(-29,36)(-30,36)(-30,37)(-31,37)(-31,38)(-32,38)
(-32,39)(-33,39)(-33,40)(-34,40)(-34,41)(-35,41)(-35,42)(-36,42)(-36,43)
(-37,43)(-37,44)(-38,44)(-38,45)(-39,45)(-39,46)(-70,46)(-70,47)(-69,47)
(-69,48)(-68,48)(-68,49)(-65,49)(-65,50)(-61,50)(-61,51)(-53,51)(-53,52)
(-32,52)(-32,53)(-30,53)(-30,54)(-28,54)(-28,55)(-27,55)(-27,56)(-26,56)
% and then array index out of bounds, with m=-1.